Macbook Air 13inch Mid 2013 に NixOS を入れる
頂き物の Macbook Air 13inch Mid2013 を一年半ほど放置していた。勿体ないので NixOS を入れてオモチャにする。
基本的には Arch Wiki に従う
https://wiki.archlinux.jp/index.php/Mac
大まかな手順
1. ファームウェアアップデート等
2. パーティション
OS X パーティションを縮小する
3. ブートローダー設定
4. NixOS インストール
5. インストール後設定
MacBook 特有
6. GUI 環境設定
## ファームウェアアップデート等
ファームウェアは最新版になっていたのでアップデートの必要はなかった。
FileVault をオフにしておく。なってた。
OS X 側のディスク使用量もできるだけ減らしておく。エディタ等の開発環境やアプリ、ログファイル、キャッシュを削除する。理由は後述するが、できるだけ切り詰めておきたい。
## パーティション
ドライブは、普通に MacOS を入れているなら GPT フォーマットになっているはずだ。
だいたいこんなパーティションがある
EFI
msdos や FAT と認識されることもある
ラベル付けは #1
Mac OS X #2
Recovery
今回は OS X と NixOS のデュアルブートをするから、OSX 側でパーティション分割しておく。
悲しいことに、128 GB のディスクが 1 つしかないのでできるだけ詰めたい。
しかし OS X を吹き飛ばしてしまうといろいろめんどくさいらしい
OS X パーティションを取り除くと、マシンのファームウェアを簡単に更新する方法がなくなるので注意してください。
とのこと
もし容量が足りなくなれば吹き飛ばしてやってみたらいい。幸い NixOS は宣言ベースで再現性の高い Linux ディストロなので、また一から構築したり dotfiles/install.sh を走らせてからの微調整なども必要ない。
パーティション割り当てはこのようになった。
OS X: 40 GB(使用済み 28 GB、非常用 12 GB)
NixOS: 81 GB
NixOS は一旦 exFAT でしておく。
## イメージを USB フラッシュメモリに焼く。
https://nixos.org/download/#nixos-iso から最新の ISO イメージをダウンロードする。
rufus で焼いたが各々好きなものを使えば良い。
https://gyazo.com/e774c8b7258004caeb651778bce3003d
## ファイルパーティション&マウント
よくわからないからすべてを gpt-5.5 に聞くよ
USB フラッシュメモリ上の NixOS を起動して lsblk -f を叩く。
NixOS 用に作った exFAT 領域を消して ext4 FileSystem に切り替える。ここで領域の名前を nixos とした。
NixOS 領域を /mnt にマウントし、既存の EFI System パーティションを /mnt/boot にマウントする。
これで NixOS のインストールの準備が完了した。
## ブートローダー
configration.nix を自動生成する。
`
sudo nixos-generate-config --root /mnt
`
生成した configration.nix を変更する。ブートローダーなど設定。
systemd-boot をブートローダーとして使う。また NixOS に EFI の起動順序を変更させないようにする。本当はさせてやりたいのだが、Mac だといろいろ面倒らしい。
`
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = false;
`
これを設定したら sudo nixos-install で NixOS のインストールを行なう。
Linux のインストールを何回も経験しているオタクくんにはおなじみだが、最初のうちは有線 LAN を繋いでおくことを推奨する。Nix (NixOS) は大量のパッケージを落としてくるので、ダウンロードが遅いと rebuild がめちゃくちゃ遅くなる。Macbook の場合は有線 LAN ポートがないため USB - LANポート変換アダプタで有線接続する。個別のデバイスドライバをインストールする必要はない。
gpt-5.5 がまだ nix-shell を勧めてくるのであんまり頼りすぎたくない。確かに flake は experimental だが NixOS など使うオタクはそんなことを気にしない。
この辺りで SSH を繋いでおくと良かったが面倒なのでやらなかった。かえって面倒だった
WiFi 設定
https://zenn.dev/t723/articles/0e146f81c30e27
13時間前に同じことやってるやん
自分の dotfiles を clone しておく(WSL の NixOS の設定が入ってある)。
その前に適当に ssh 設定
あーやっぱ入力めんどいから https でクローン
GUI 環境入れる
hyprland 2026-06-13
まず configration.nix にいれる
はいった
NixOS 26.05 がリリースされてたのでアップデートする
WSL のほうはファイル書き換えるだけなので同じことをした
Broadcom が insecure だからアップデートできませんよってエラー?
version を手書きで変えて update したら通った
hyprland のアップデートがあり、lua の設定に移行されてたのでやる
ランチャーは rofi をいれた
日本語環境
fcitx5+mozc
nixpkgs の ftrix5-mozc を入れる
hyprland の起動設定に入れとく
mozc romatable
fcitx5-mozc だけだとだめらしい
mozc_tool コマンドがみえてないとだめらしい
mozcTool をいれて解決
mozcTool --mode=config_dialog
フォント
noto-sans-cjk
hyprland で要求されてるやつを入れておく
brightnessctl
playerctl
やりたい
win+v
battery 表示
bottom
クロスプラットフォームの TUI システムモニタ
kanata をいれた
英数キーを MO として HJKL でカーソル移動
Hypr Ecosystem